package com.stations.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@TableName(value = "t_transmitter_program")
public class TTransmitterProgram {
    /**
     * 任务ID
     */
    @TableId(value = "task_code", type = IdType.INPUT)
    private String taskCode;

    /**
     * 台站ID
     */
    @TableField(value = "station_code")
    private String stationCode;

    /**
     * 发射机ID
     */
    @TableField(value = "trans_code")
    private String transCode;

    /**
     * 发射机通道号:0-3
     */
    @TableField(value = "task_id")
    private String taskId;

    /**
     * 任务开始时间
     */
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(pattern = "HH:mm:ss")
    @TableField(value = "send_date_time")
    private Date sendDateTime;

    /**
     * 任务结束时间
     */
    @DateTimeFormat(pattern = "HH:mm:ss")
    @JsonFormat(pattern = "HH:mm:ss")
    @TableField(value = "send_date_end_time")
    private Date sendDateEndTime;

    /**
     * 操作类型 1:新增 2:替换
     */
    @TableField(value = "oper_type")
    private String operType;

    /**
     * 工作频率,KHz,取值: 3200~26100
     */
    @TableField(value = "channel_freq")
    private String channelFreq;

    /**
     * 通道状态：0：开，1：关    默认：0
     */
    @TableField(value = "channel_rf_ch_state")
    private String channelRfChState;

    /**
     * 跳频时隙，ms,取值范围: 0 ~ 50
注：0是一直播放，多个打开通道为0时为多播模式
     */
    @TableField(value = "channel_time_slot")
    private String channelTimeSlot;

    /**
     * 输出功率，W, 取值：0~+200
     */
    @TableField(value = "channel_equalization")
    private String channelEqualization;

    /**
     * 0：单音；1：AM；2：FM  
注默值：1
     */
    @TableField(value = "channel_rf_ch_mod")
    private String channelRfChMod;

    /**
     * 调制宽度：1000hz-4000hz
注：此参数仅在FM模式为FM时生效,默认4000hz
     */
    @TableField(value = "channel_rf_ch_band")
    private String channelRfChBand;

    /**
     * 0：白噪声；1 1k单音；2 外部音源；3：静音：4 文件白噪声；4：文件打击乐；5：播放URL音频
     */
    @TableField(value = "channel_rf_ch_a_source")
    private String channelRfChASource;

    /**
     * 音源地址
     */
    @TableField(value = "channel_rf_ch_a_url")
    private String channelRfChAUrl;

    /**
     * 时间，格式yyyy-mm-dd hh:mm:ss
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "send_time")
    private Date sendTime;

    /**
     * 执行周期
     */
    @TableField(value = "program_period")
    private String programPeriod;

    /**
     * 执行周期
     */
    @TableField(value = "flag")
    private String flag;

    /**
     * 发射机IP地址
     */
    @TableField(exist = false)
    private String transIp;

    /**
     * 发射机https服务端口
     */
    @TableField(exist = false)
    private String transHttpsPort;

    /**
     * 发射机http服务端口
     */
    @TableField(exist = false)
    private String transHttpPort;
}